`ifndef _INTERFACE_SV
`define _INTERFACE_SV

interface interface_dut(input clk, input rst_n);
	
	logic [7:0] data;
	logic valid;

endinterface

interface interface_bus(input clk, input rst_n);
    
    logic bus_cmd_valid;
    logic bus_op;
    logic [15:0] bus_addr;
    logic [15:0] bus_wr_data;
    logic [15:0] bus_rd_data;

endinterface

interface interface_backdoor(input clk, input rst_n);
    
    function void poke_counter(input bit[31:0] value);
        tb_top.dut.counter = value;
    endfunction 

    function void peek_counter(output bit[31:0] value);
        value = tb_top.dut.counter;
    endfunction 
endinterface

`endif


